#include <iostream>

using namespace std;

const int N = 100010;
int q[N],a[N],n;

void merge_sort(int q[],int l,int r)
{
	if(l>=r) return;
	int mid = r+l>>1;
	merge_sort(q,l,mid),merge_sort(q,mid+1,r);
	int k=0,i=l,j=mid+1;
	while(i<=mid&&j<=r)
	{
		if(q[i]<=q[j]) a[k++] = q[i++];
		else a[k++] = q[j++];
	}
	while(i<=mid) a[k++] = q[i++];
	while(j<=r) a[k++] = q[j++];
	
	for(int i=l,j=0;i<=r;i++,j++) q[i] = a[j];
}

int main()
{
	scanf("%d",&n);
	for(int i=0;i<n;i++) scanf("%d",&q[i]);
	merge_sort(q,0,n-1);
	for(int i=0;i<n;i++) printf("%d ",q[i]);
	return 0;
 }
